package com.randb.easyhttp.strategies;

import com.randb.easyhttp.cache.RxCache;
import com.randb.easyhttp.cache.model.CacheResult;

import java.lang.reflect.Type;

import io.reactivex.Observable;

/**
 * User: RandBII
 * Date: 2020/5/27
 * Description:
 */
public interface IStrategy {

    <T> Observable<CacheResult<T>> execute(RxCache rxCache,
                                           String cacheKey,
                                           long cacheTime,
                                           Observable<T> source,
                                           Type type);
}
